<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;

class CmQuestionSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $questions = [
            // 数学题目 (科目ID: 1)
            [
                'subject_id' => 1,
                'question_text' => '求解方程 2x + 5 = 13 中 x 的值',
                'answer' => '解：2x + 5 = 13\n2x = 13 - 5\n2x = 8\nx = 4\n\n答案：x = 4',
                'difficulty' => 1,
                'status' => 1,
                'problem_logo' => ''
            ],
            [
                'subject_id' => 1,
                'question_text' => '计算函数 f(x) = x² + 3x - 4 在 x = 2 处的值',
                'answer' => '解：f(x) = x² + 3x - 4\n当 x = 2 时：\nf(2) = 2² + 3×2 - 4\nf(2) = 4 + 6 - 4\nf(2) = 6\n\n答案：f(2) = 6',
                'difficulty' => 2,
                'status' => 1,
                'problem_logo' => ''
            ],
            [
                'subject_id' => 1,
                'question_text' => '求圆 x² + y² = 25 与直线 y = 3x + 1 的交点',
                'answer' => '解：将 y = 3x + 1 代入 x² + y² = 25\nx² + (3x + 1)² = 25\nx² + 9x² + 6x + 1 = 25\n10x² + 6x - 24 = 0\n5x² + 3x - 12 = 0\n\n使用求根公式：x = (-3 ± √(9 + 240))/10 = (-3 ± √249)/10\n\n交点坐标需要进一步计算得出具体数值。',
                'difficulty' => 4,
                'status' => 1,
                'problem_logo' => ''
            ],
            
            // 语文题目 (科目ID: 2)
            [
                'subject_id' => 2,
                'question_text' => '请解释"春风又绿江南岸"中"绿"字的妙处',
                'answer' => '分析："绿"字的妙处：\n1. 词性活用：形容词"绿"活用为动词，意为"使...变绿"\n2. 形象生动：一个"绿"字写出了春风所到之处，草木萌发，大地复苏的景象\n3. 色彩鲜明：突出了江南春天的特色，绿意盎然\n4. 动静结合：春风是动态的，绿化是静态的结果，动静结合\n5. 情景交融：表达了诗人对江南春色的喜爱和对故乡的思念',
                'difficulty' => 3,
                'status' => 1,
                'problem_logo' => ''
            ],
            [
                'subject_id' => 2,
                'question_text' => '分析《岳阳楼记》中"先天下之忧而忧，后天下之乐而乐"的思想内涵',
                'answer' => '思想内涵分析：\n1. 忧国忧民：体现了古代知识分子以天下为己任的责任感\n2. 无私奉献：个人的忧乐与国家民族的命运紧密相连\n3. 理想人格：展现了古代士大夫的理想人格和精神追求\n4. 政治理想：反映了范仲淹"居庙堂之高则忧其民，处江湖之远则忧其君"的政治理想\n5. 现实意义：至今仍有重要的教育意义和现实价值',
                'difficulty' => 4,
                'status' => 1,
                'problem_logo' => ''
            ],
            
            // 英语题目 (科目ID: 3)
            [
                'subject_id' => 3,
                'question_text' => 'Choose the correct form: She _____ (go) to school every day.',
                'answer' => '答案：goes\n\n解析：\n1. 主语是第三人称单数 "She"\n2. 时间状语 "every day" 表示经常性、习惯性动作\n3. 应使用一般现在时\n4. 第三人称单数形式的动词要加 -s 或 -es\n5. go 的第三人称单数形式是 goes',
                'difficulty' => 1,
                'status' => 1,
                'problem_logo' => ''
            ],
            [
                'subject_id' => 3,
                'question_text' => 'Translate: "Knowledge is power."',
                'answer' => '翻译：知识就是力量。\n\n解析：\n1. Knowledge - 知识（不可数名词）\n2. is - 是（系动词）\n3. power - 力量，权力\n4. 这是一句著名的格言，强调知识的重要性\n5. 出自英国哲学家弗朗西斯·培根',
                'difficulty' => 2,
                'status' => 1,
                'problem_logo' => ''
            ],
            
            // 物理题目 (科目ID: 4)
            [
                'subject_id' => 4,
                'question_text' => '一个质量为2kg的物体在水平面上受到10N的水平拉力，摩擦系数为0.2，求物体的加速度。(g=10m/s²)',
                'answer' => '解：\n已知：m = 2kg, F = 10N, μ = 0.2, g = 10m/s²\n\n1. 计算摩擦力：\n   f = μmg = 0.2 × 2 × 10 = 4N\n\n2. 计算合外力：\n   F合 = F - f = 10 - 4 = 6N\n\n3. 根据牛顿第二定律：\n   F合 = ma\n   a = F合/m = 6/2 = 3m/s²\n\n答案：物体的加速度为 3m/s²',
                'difficulty' => 3,
                'status' => 1,
                'problem_logo' => ''
            ],
            
            // 化学题目 (科目ID: 5)
            [
                'subject_id' => 5,
                'question_text' => '写出氢氧化钠与盐酸反应的化学方程式，并说明反应类型',
                'answer' => '化学方程式：NaOH + HCl → NaCl + H₂O\n\n反应类型分析：\n1. 这是一个中和反应\n2. 也是复分解反应\n3. 反应特点：酸 + 碱 → 盐 + 水\n4. 反应现象：无明显现象，但有热量放出\n5. 应用：用于测定酸碱浓度、制备氯化钠等',
                'difficulty' => 2,
                'status' => 1,
                'problem_logo' => ''
            ],
            
            // 计算机科学题目 (科目ID: 10)
            [
                'subject_id' => 10,
                'question_text' => '什么是冒泡排序算法？请简述其基本思想和时间复杂度。',
                'answer' => '冒泡排序算法：\n\n基本思想：\n1. 比较相邻的两个元素\n2. 如果前面的元素比后面的大，就交换它们\n3. 重复这个过程，直到没有需要交换的元素\n4. 每一轮都会将最大的元素"冒泡"到数组末尾\n\n时间复杂度：\n- 最好情况：O(n) - 数组已经有序\n- 最坏情况：O(n²) - 数组完全逆序\n- 平均情况：O(n²)\n\n空间复杂度：O(1)\n\n特点：稳定排序算法，实现简单但效率较低',
                'difficulty' => 3,
                'status' => 1,
                'problem_logo' => ''
            ],
            [
                'subject_id' => 10,
                'question_text' => '解释什么是数据库的ACID特性',
                'answer' => 'ACID特性是数据库事务的四个基本特性：\n\nA - Atomicity（原子性）：\n- 事务是不可分割的最小工作单位\n- 要么全部执行，要么全部不执行\n\nC - Consistency（一致性）：\n- 事务执行前后，数据库都必须处于一致性状态\n- 不会破坏数据库的完整性约束\n\nI - Isolation（隔离性）：\n- 多个事务并发执行时，相互之间不能干扰\n- 每个事务都感觉不到其他事务的存在\n\nD - Durability（持久性）：\n- 事务一旦提交，其结果就是永久性的\n- 即使系统故障也不会丢失\n\n这四个特性保证了数据库事务的可靠性和数据的完整性。',
                'difficulty' => 4,
                'status' => 1,
                'problem_logo' => ''
            ]
        ];

        foreach ($questions as $question) {
            DB::table('cm_question')->insert([
                'subject_id' => $question['subject_id'],
                'question_text' => $question['question_text'],
                'answer' => $question['answer'],
                'difficulty' => $question['difficulty'],
                'status' => $question['status'],
                'problem_logo' => $question['problem_logo'],
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now(),
            ]);
        }
    }
}